package demo1;

public class 打印空心金字塔 {
    /*
    先找规律
    *       1
    **      2
    ***     3
    ****    4
    //每一层：（2 * 层数 - 1 个）个 *，
    左边还有空格，空格和上面的规律一样，
    每一层空格数量等于 总层数- 当前的层数
      *       1 - 1个 = 2*1-1    空格 3  = 4-1=3
     ***      2 - 3个 = 2*2-1    空格 2  = 4-2=2
    *****     3 - 5个 = 2*3-1    空格 1
   *******    4 - 7个 = 2*4-1    空格 0
   //空心的金字塔
   //除了第一层额最后一层，其它层都是只打印两个 * 而且是首尾
   //if else判断即可输出为*，正常输出 * 只有首层和尾层，以及每一层的第一个和最后一个
   //也就是 if（i==1 || i ==4 || j==1 || j==2*i-1）输出*
      *       1 - 1个 = 2*1-1    空格 3  = 4-1=3
     * *      2 - 3个 = 2*2-1    空格 2  = 4-2=2
    *   *     3 - 5个 = 2*3-1    空格 1
   *******    4 - 7个 = 2*4-1    空格 0
   //化繁为简，先死后活
   对于层数是可以改变的，不一定是4
     */
    public static void main(String[] args) {
        //总层数
        int totalLevel = 4;
        for(int i=1;i<=totalLevel;i++){//层数，i为层数
            for (int j = 1; j <= totalLevel-i; j++) {
                //先打印空格
                System.out.print(" ");
            }
            for (int j = 1; j <= 2*i-1; j++) {
                //再打印*
                if(i==1 || i ==totalLevel || j==1 || j==2*i-1){
                    System.out.print("*");
                }else {
                    System.out.print(" ");
                }

            }
            System.out.println();

        }
    }
}
